1. Technical Field
This invention generally relates to monitoring performance of computer systems, and more specifically relates to monitoring performance of storage area networks.
2. Background Art
Software tools known as performance monitors allow monitoring performance of a computer system. Such tools are invaluable in identifying problems and isolating their causes. A software monitor may report a number of different performance factors, including the utilization of input/output (I/O) processors, the average service time of I/O accesses, the service time of both logical and physical accesses, etc. A logical access is an access made to the computer system's internal memory. A physical access is an access made to a physical storage, such as a disk drive, because the needed data was not in the computer system's internal memory. Paging systems allow reading one or more pages of data from disk to the computer system's memory to increase the likelihood of being able to retrieve the needed data as a logical access instead of a physical access. Logical accesses occur much faster than physical accesses because of the time required to access the data on the disk drive.
A relatively new concept known as a Storage Area Network (SAN) has been developed that allows the SAN to provide all or almost all of the required storage for a computer system. Essentially, one or more remote disk drives in the SAN provide bulk storage for the computer system, thereby easing or eliminating the need for a local hard disk on the computer system itself. A SAN provides a logical view of storage, and may service multiple clients at the same time. For example, let's assume a SAN includes four 75 GB physical disk drives. Let's further assume that each of these 75 GB disk drives is logically partitioned into five different 15 GB disk drives. In this scenario, the SAN with four 75 GB disk drives appears from the client perspective to have 20 separate disk drives that each have a capacity of 15 GB each. This virtualization of disk drives can mask or hide problems that are difficult to detect with known performance monitor tools.
An example will illustrate the problem with known performance monitors. Let's assume that a computer system has access to five different 15 GB drives which are all on the same 75 GB physical disk drive in a SAN. Performance monitors report performance from the client perspective. Thus, the performance monitor may report that each disk is only 20% busy. However, because the disk is a logical disk, and the I/O controller for the physical disk must service five different logical drives, having a disk that is 20% busy amounts to a utilization of 100% of the I/O processor for that disk. If one of the five disks now attempts to increase disk throughput, the disk I/O will begin to back up, causing the disk I/O time to increase due to the queue of requests that the I/O processor cannot handle in a timely way. Thus, we see from this simple example that a performance monitor from the client perspective may fail to report issues that result from using a SAN. Without a way for a performance monitor to monitor performance of a SAN, the computer industry will not be able to detect problems that arise from use of the SAN.